As is known, the receivers used in global navigation satellite systems, such as for example the GPS (Global Positioning System), determine their global position on the basis of signals received by satellites forming part of a constellation.
For instance, the most recent satellites forming part of the GPS constellation transmit signals using three carriers denoted as L1, L2, and L5, where the carrier L1 has a frequency of 1575.42 MHz, the carrier L2 has a frequency of 1227.60 MHz, and the carrier L5 has a frequency of 1176.45 MHz.
Each carrier is of a sinusoidal type and is modulated by one or more signals (channels), each of which is formed by at least one pseudo-random sequence (Pseudo-Random Noise—PRN), which may be periodic or nonperiodic and is formed by a (periodic or nonperiodic) binary sequence appropriately modulated by a waveform that repeats periodically. In particular, modulation is obtained on the basis of so-called “spread spectrum” techniques and enables transmission of possible navigation data.
The ones and zeros present in the PRN sequences are generally referred to by the expression “code chips” or simply “chips”, whereas the transitions from 1 to 0 and vice versa are generally referred to as “chip transitions”. In technical jargon, the PRN sequences are also referred to as “ranging codes”, since they enable estimation of the pseudo-ranges between receiver and satellites.
Each GPS satellite uses a very precise PRN sequence of its own for each channel transmitted that is distinct from that of the other satellites; for this reason, the receiver can associate the signal received with the satellite that has emitted it, after determining which PRN sequence is included in the signal.
The receiver calculates the difference between the instant at which the satellite has transmitted the signal, said information being contained in the signal itself, and the instant at which the receiver has received the signal. On the basis of this difference in time, the receiver calculates its own distance from the satellite, which is known as “pseudo-range”. Using the pseudo-ranges for at least four satellites, the receiver is able to calculate its own global position.
To determine the difference in time between the instant at which the satellite transmits the signal and the instant at which the receiver receives it, the receiver synchronizes a PRN sequence generated locally with the PRN sequence present in the signal received. This synchronization is obtained by means of alignment of the code chips present in the sequences. In this way, the receiver determines the degree of time deviation of the PRN sequence generated locally with respect to the “GNSS time”, i.e., the time scale used by the satellite for generating its own PRN sequence, and calculates the pseudo-range.
The more precisely the receiver aligns the PRN sequence generated locally with the PRN sequence present within the signal received, the more precisely the GPS receiver can determine the time deviation between these sequences, the pseudo-range and, consequently, its own global position.
The operations of synchronization typically include acquisition of the PRN sequence of the satellite and tracking thereof. To acquire the PRN sequence, typically the receiver makes a series of correlation measurements with steps less than or equal to half a chip. Once the sequence has been acquired, the receiver tracks it, typically using a so-called delay-locked loop (DLL). In addition to this, the receiver is able to track the variations of the frequency and of the phase of the carrier used by the satellite for transmitting the PRN sequence and the navigation data. To do this, the receiver typically uses a phase-locked loop (PLL).
An example of receiver is illustrated in FIG. 1. In particular, FIG. 1 shows a receiver 1, which comprises an antenna 2, an input stage 4, and a stage for numeric processing of the signal 6, referred to hereinafter as to “tracking stage” 6.
The antenna 2 is designed to receive navigation signals and is connected to the input stage 4, which, as illustrated in FIG. 2, is formed by a matching oscillator 7, an input amplifier 8, a matching multiplier (also known as “mixer”) 9, a bandpass filter 10, an automatic-gain-control amplifier 12, and an analog-to-digital (A/D) converter 14.
The input amplifier 8, the matching multiplier 9, the bandpass filter 10, the automatic-gain-control amplifier 12, and the A/D converter 14 are arranged in cascaded fashion and are electrically connected together.
The matching multiplier 9, in addition to having a first input connected to the output of the input amplifier 8, has a second input connected to the output of the matching oscillator 7, which operates in open-loop mode.
In use, if we denote by “analog input signal si(t)” the electrical signal that is generated by the antenna 2 as a function of one or more navigation signals (if present) and is supplied to the input amplifier 8, the A/D converter 14 supplies a sampled input signal si(n), at output from the input stage 4. In particular, the A/D converter 14 operates at a sampling frequency fs.
In practice, the input stage 4 is a heterodyne receiving stage and may contain further electronic components. Furthermore, the input stage 4 is such that the spectrum of the sampled input signal si(n) is a replica centred at a so-called “intermediate frequency” fi of the spectrum of the analog input signal si(t).
The tracking stage 6 comprises a carrier generator 20, a first input multiplier 22a and a second input multiplier 22b, a first subchannel filter 23a and a second subchannel filter 23b, and a first correlation subchannel 21a and a second correlation subchannel 21b. Furthermore, the tracking stage 6 comprises a discriminator 30, a discrimination filter 32, and a local waveform generator 34. In practice, the tracking stage 6 forms a so-called “delay-locked loop” (DLL).
The carrier generator 20 has a first output and a second output and generates, at a frequency equal to the sampling frequency fs, samples of sinusoidal signals. In particular, respectively present on the first output and on the second output of the carrier generator 20 are a first local signal scos (n) and a second local signal ssen(n), which are real and phase-shifted with respect to one another by 90°; in greater detail, the first and second local signals scos (n), ssen (n) are formed by samples given by cos (2π·floc·n/fs) and sen (2π·floc·n/fs), respectively, where f100 is a local frequency, or else by their approximations.
The first input multiplier 22a has a first input and a second input, which are connected to the output of the A/D converter and to the first output of the carrier generator 20, respectively.
The second input multiplier 22b has a first input and a second input, which are connected to the output of the A/D converter and to the second output of the carrier generator 20, respectively.
The first and second subchannel filters 23a, 23b are both of a numeric and low-pass type and have inputs connected, respectively, to the outputs of the first and second input multipliers 22a, 22b. 
As illustrated in FIG. 3, the tracking stage 6 includes three correlators, referred to hereinafter as “prompt correlator” P, “early correlator” E, and “late correlator” L.
Each one of the three correlators, the prompt correlator P, the early correlator E, and the late correlator L comprises a respective in-phase part 24a, which forms the first correlation subchannel 21a, and a respective quadrature part 24b, which forms the second correlation subchannel 21b. The local waveform generator 34 is shared among the prompt correlator P, the early correlator E, and the late correlator L.
In detail, each in-phase part 24a comprises a respective correlation multiplier 26a and a respective accumulator 28a. 
The correlation multiplier 26a has a first input and a second input, the first input being connected to the output of the first subchannel filter 23a; moreover, the correlation multiplier 26a has an output, which is connected to the input of the corresponding accumulator 28a. 
Each accumulator 28a has a respective output, which is connected at input to the discriminator 30. Furthermore, the discriminator 30 has an output, which is connected to the input of the discrimination filter 32, the output of which is connected to the input of the local waveform generator 34. In turn, the local waveform generator 34 has three outputs; each output of the local waveform generator 34 is connected to the second input of a corresponding correlation multiplier 26a and thus forms one from among the prompt correlator P, the early correlator E, and the late correlator L.
Each quadrature part 24b of the prompt correlator P, early correlator E, and late correlator L comprises a respective correlation multiplier and a respective accumulator, which are designated, respectively, by 26b and 28b; the correlation multiplier 26b has a first input connected to the output of the second input filter 23b and a second input connected to one of the three outputs of the local waveform generator 34.
The outputs of the accumulators 28b of the second correlation subchannel 21b are supplied at input to the discriminator 30.
In practice, the first and second correlation subchannels 21a, 21b are the same as one another but receive at input different samples. Furthermore, considering any one of the three correlators, the prompt correlator P, the early correlator E, and the late correlator L, the respective in-phase and quadrature parts 24a, 24b share the same output of the local waveform generator 34. In other words, the second inputs of the correlation multipliers of the in-phase part and quadrature part of the correlator considered are connected to the same output of the local waveform generator 34.
Operatively, assuming that the antenna 2 receives a navigation signal that is modulated with a first sequence PRN1 and has a carrier at a first frequency fc1, the first and second local signals scos(n) cos ssen(n) have a frequency equal to the aforementioned intermediate frequency fi, even though in these conditions it is generally stated that the first and second local signals scos(n), ssen (n) are locked to the carrier of the navigation signal, which, as has been said, has a frequency equal to the first frequency fc1. The local frequency floc is hence found to be equal to the intermediate frequency fi.
Even though it is not illustrated in FIG. 1, in order to generate the first and second local signals scos(n), ssen(n), the carrier generator 20 typically comprises a discriminator of its own, a filter, and a digitally controlled oscillator, which are connected in sequence, the input of the discriminator being connected to one or more of the outputs of the accumulators of the first and second correlation subchannels 21a, 21b so as to form a phase-locked loop.
The first and second input multipliers 22a, 22b supply, respectively, a first multiplication signal smI(n) and a second multiplication signal smQ(n). Furthermore, the first and second input filters 23a, 23b supply, respectively, an in-phase signal I(n) and a quadrature signal Q(n), the samples of which are real. The in-phase signal I(n) and the quadrature signal Q(n) represent the in-phase and quadrature components of the sampled input signal si(n), and are hence a function, respectively, of the in-phase and quadrature components of the analog input signal si(t). From another standpoint, the in-phase signal I(n) and the quadrature signal Q(n) represent the outcome of an operation of demodulation of the navigation signal; moreover, typically the navigation signal is alternatively quadrature modulated or, more frequently, in-phase modulated with the first sequence PRN1; consequently, the quadrature signal Q(n) or, more frequently, the in-phase signal I(n) represent the same first sequence PRN1, demodulated starting from the navigation signal.
The local waveform generator 34 supplies, on each of its own outputs, a corresponding local signal, of a digital and pseudo-random type, which is in general referred to as “correlation sequence”. For instance, each correlation sequence may be formed by the periodic repetition of one and the same basic PRN sequence, understood as set of “code chips”, modulated with an appropriate waveform (for example, a gate function, in the case of signals with modulation of a BPSK type, or else with more complex waveforms in the case of modulations BOC, BOCc, CBOC, TMBOC, AltBOC, etc.). The samples of the correlation sequences are supplied at the sampling frequency fs.
The correlation sequences are misaligned in time with respect to one anther. In particular, the correlation sequence of the prompt correlator P, which in FIG. 3 is designated by cr0(n), and is referred to as “local sequence”, represents the sequence to be time aligned to the one contained in the navigation signal received.
The correlation sequence of the early correlator E, which in FIG. 3 is designated by cr−1(n), and which is referred to as “early replica” of the local sequence, has a time advance with respect to the local sequence equal to a phase shift Δ.
The correlation sequence of the late correlator L, which in FIG. 3 is designated by cr1(n), and which is referred to as “late replica” of the local sequence, has a time delay with respect to the local sequence equal to the phase shift Δ.
From another standpoint, each of the three correlators, the prompt correlator P, the early correlator E, and the late correlator L, comprises a respective in-phase part 24a, which operates on the in-phase component of the sampled input signal si(n), and a quadrature part 24b, which operates on the quadrature component of the sampled input signal si(n).
In greater detail, with reference, for example, to the first correlation subchannel 21a, assuming an index z=−1, 0, 1 to identify individually the in-phase parts 24a of the prompt correlator P, the early correlator E, and the late correlator L that form it, and if by “first-subchannel intermediate signal scI,z(n)” we designate, given the z-th in-phase part 24a, the signal present on the output of the corresponding correlation multiplier 26a, the corresponding accumulator 28a is designed to add a number K of samples of the first-subchannel intermediate signal scI,z(n) and to divide the result of this addition by the number K itself, thus determining a sample of a corresponding first-subchannel correlation signal sdI,z(w). FIG. 3 adopts a notation such that the symbols scI,−1(n), scI,0 (n) and scI,1 (n) refer to the early correlator E, the prompt correlator P, and the late correlator L, respectively.
In practice, the accumulators 28a function as “integrate and dump” blocks. Furthermore, the samples of the first-subchannel correlation signals sdI,z(w) are supplied at a frequency equal to fs/K, i.e., the index w can be interpreted as the ratio n/K rounded to the largest previous integer. In other words, given any accumulator 28a and given a first sample and a second sample of one and the same first-subchannel correlation signal sdI,z(w), the first sample is a function of a first set of K samples of the corresponding first-subchannel intermediate signal scI,z (n), whereas the second sample is a function of a second set of K samples of said first-subchannel intermediate signal scI,z (n), the samples of the second set being different from the samples of the first set.
Operation of the quadrature parts 24b of the second correlation subchannel 21b is the same as operation of the in-phase parts 24a of the first correlation subchannel 21a, except that, in the present treatment, given the z-th quadrature part 24b, we designate by “second-subchannel intermediate signal scQ,z(n)” the signal present on the output of the corresponding correlation multiplier 26b. In addition, given again the z-th quadrature part 24b of the second correlation subchannel 21b, we designate by “second-subchannel correlation signal sdQ,z(w)” the signal present on the output of the corresponding accumulator 28b. 
The discriminator 30 receives at input the three first-subchannel correlation signals sdI,z(w) and the three second-subchannel correlation signals scQ,z(w), as a function of which it generates, on its own output, a driving signal sp(w) of a numeric type, with samples issued at a frequency, for example, of fs/K. The driving signal sp(w) is filtered by the discrimination filter 32, which is also of a numeric low-pass type, in such a way as to supply a filtered driving signal spf(w). The filtered driving signal spf(w) is supplied at input to the local waveform generator 34.
In detail, the discriminator 30 determines points of the so-called correlation function, at a frequency equal to fs/K; i.e., it updates the points of the correlation function at each integration period T=K/fs.
In greater detail, for each integration period T, the discriminator 30 determines a corresponding vector, formed by three elements. More in particular, considering an integration period T, and considering any element between the three elements of the corresponding vector, said element may, for example, be equal to i) the value of the corresponding first-subchannel correlation signal sdI,z(w), or else ii) the square root of the sum of the square of the value of the corresponding first-subchannel correlation signal sdI,z(w) and the square of the value of the corresponding second-subchannel correlation signal sdQ,z(w). In case i), the discriminator 30 is said to be coherent, whereas in case ii) the discriminator 30 is said to be non-coherent.
In practice, for each integration period T, the corresponding vector contains the three points of the correlation function. FIGS. 4a and 4b show two examples of ideal correlation functions, on the hypothesis that the navigation signal is BOC(1,1)-modulated and in the case of coherent and non-coherent discriminator, respectively; in both cases, the abscissae identify the delays with respect to the peak of the correlation function, which occurs, ideally, when the local sequence is time aligned with the sequence contained in the navigation signal. Furthermore, illustrated in each of FIGS. 4a and 4b are the three points of the vector, which are designated by VE, VP, and VL, respectively. In particular, the point VP is the point of the correlation function calculated on the basis of the values of the first-subchannel and second-subchannel correlation signals for the prompt correlator P, which are designated, respectively, by sdI,0(w) and sdQ,0(w). The point VE is the point of the correlation function calculated on the basis of the values of the first-subchannel and second-subchannel correlation signals for the early correlator E, which are designated, respectively, by sdI,−1(w) and sdQ,−1(w). The point VL is the point of the correlation function calculated on the basis of the values of the first-subchannel and second-subchannel correlation signals for the late correlator L, which are designated, respectively, by sdI,1(w) and sdQ,1 (w).
The points of the correlation function represent correlation measurements, i.e., measurements indicating the difference between the first sequence PRN1 of the navigation signal received by the antenna 2 and corresponding time-shifted replicas.
This said, the discriminator 30 operates in such a way that the local sequence is kept time-aligned to the first sequence PRN1, as present in the navigation signal received by the antenna 2, which is referred to also as “PRN sequence received along the line-of-sight (LOS) path”. For this purpose, the discriminator 30 may, for example, generate the driving signal sp(w) in such a way that it is proportional to the difference between the points VE and VL of the correlation function and hence is proportional to the time misalignment between the local sequence and the PRN sequence received along the line-of-sight path. Furthermore, the local waveform generator 34 operates in such a way as to minimize the driving signal sp(w), appropriately translating the local sequence in time, as well as, to the same extent, the early replica of the local sequence and the late replica of the local sequence.
As illustrated in greater detail in FIG. 5, in forming the navigation signal, the satellite (designated by 40) generates the first sequence PRN1, in a synchronous way with a clock 42 of its own, which is synchronous with the GNSS time (for example, the GPS time scale, i.e., the so-called “GPS time”). In turn, the receiver 1 has a clock 44 of its own, which only ideally is synchronized with the GNSS time. Furthermore, the local waveform generator 34 generates the local sequence in a synchronous way with its own clock, but shifts it by a delay D with respect to the latter, this delay D being such that the correlation between the local sequence and the PRN sequence received along the line-of-sight path is maximum. The delay D is thus a function of the difference in time between the instant of transmission of the first sequence PRN1, referred to the clock 42 of the satellite 40, and the instant of reception of the first sequence PRN1, referred to the clock 44 of the receiver 1. Furthermore, the delay D can be used for calculating the pseudo-range between the satellite 40 and the receiver 1.
Examples that represent operation of the DLL are illustrated in FIGS. 6a-6d, which show for simplicity of representation individual chips of the PRN sequence received along the line-of-sight path, of the local sequence cr0(n), of the early replica of the local sequence cr−1(n) and of the late replica of the local sequence cr1(n). In each of FIGS. 6a-6d, the correlation function is normalized and is represented in a Cartesian system, the abscissae of which indicate the time delay, expressed in fractions of chip, of the local sequence, or replica of the local sequence, with respect to the PRN sequence received along the line-of-sight path. Furthermore, the time delay is normalized in such a way that the maximum of the correlation function occurs at point zero of the abscissae; the time delay is hence normalized as a function of the aforementioned delay D, which thus enables alignment of the local sequence with the PRN sequence received along the line-of-sight path. In other words, the abscissae are normalized with respect to the time of propagation of the navigation signal along the line-of-sight path.
In practice, in the case where the antenna 2 receives only the navigation signal, along the line-of-sight path present between the satellite 40 that has generated the navigation signal and the antenna 2, the discriminator 30 operates in such a way that what is represented by way of example in FIG. 6c is obtained. Consequently, there occurs a maximization of the values of the samples of the first-subchannel correlation signal sdI,0(w) of the prompt correlator P. In these conditions, there is, in fact, alignment between the local sequence and the PRN sequence received along the line-of-sight path; in particular, the local sequence is said to be aligned with the main peak of the correlation function and the prompt correlator P is said to be locked to the main peak. Consequently, the receiver 1 demodulates properly the data contained in the navigation signal and determines properly the pseudo-range from the satellite 40, this information then being used in the subsequent steps that lead to determination of the global position of the receiver 1.
Instead, when the antenna 2 receives, through multipaths, also reflected replicas of the navigation signal, on account of these replicas there may occur a misalignment between the local sequence and the PRN sequence received along the line-of-sight path. This is due to the fact that the presence of the multipaths causes a sort of deformation of the correlation function with respect to the case where there are no multipaths. In this connection, in the presence of multipaths, the correlation function calculated by the discriminator 30 regards the signal formed by the set of all the replicas of the first sequence PRN1 as received by the receiver 1 along all the paths that reach the receiver 1 itself. In particular, the correlation function determined by the discriminator 30 regards the combination (algebraic sum) of all the replicas of the first sequence PRN1 received by the receiver 1 and of the PRN sequence received along the line-of-sight path.
The presence of multipaths may cause an asymmetry of the correlation function and/or alter the position of the maximum of the correlation function. It is thus possible that the maximum of the correlation function calculated by the discriminator 30 occurs for an erroneous time alignment between the local sequence and the PRN sequence received along the line-of-sight path. It is moreover possible for the local sequence to be aligned with a secondary (side) peak of the correlation function. In particular, the likelihood of alignment on a secondary peak increases as the number of secondary peaks within the correlation function increases, and moreover as the amplitudes of the secondary peaks increase with respect to the amplitude of the main peak.
There thus occurs an alignment error between the local sequence and the PRN sequence received along the line-of-sight path, i.e., an error in the determination of the delay with which it is necessary to shift the local sequence so as to align it to the PRN sequence received along the line-of-sight path; this error has repercussions on the calculation of the pseudo-range and, consequently, on the determination of the global position of the receiver 1. In particular, the pseudo-range may prove affected by errors in the region of several meters.
In order to mitigate the effects of multipaths, there have been proposed numerous techniques. Some techniques aim at preventing the reflected signals from possibly reaching the receiver, whereas others envisage processing the signals received so as to mitigate the effect of the multipaths.
The article “Evaluation of GNSS Receiver Correlation processing Techniques for Multipath and Noise Mitigation”, by A. J. Van Dierendonck and M. S. Braasch, Proceedings of the 1997 National Technical Meeting of the Institute of Navigation (ION-NTM '97), Jan. 14-16, 1997, Santa Monica, Calif., U.S.A., describes, among other techniques, the so-called “tracker E1/E2”, which envisages having, for each correlation subchannel, two additional correlators, which are connected to the discriminator and operate in closed-loop mode. Thanks to the presence of the additional correlators, the discriminator endeavours to track a point of the correlation function that is not distorted by the presence of the multipaths. This technique guarantees good performance; however, the DLL thus implemented is particularly vulnerable to thermal noise; hence, the performance decays in the presence of faded navigation signals.
The document No. WO01/39698 describes a method of multipath mitigation, which comprises the steps of locating a point of an ideal correlation function, invariant with respect to possible multipaths, and measuring the distance of this point from a DLL. The same point is moreover located on a real correlation function, and the method further comprises the step of measuring the distance between said point and the DLL; the difference between the two distances measured represents the tracking error caused by the multipaths.